import sumSimple from "./sum_simple.js";

/**
 * 均值（算术平均数）是数据集中所有观测值的总和除以观测数量，
 * 属于[集中趋势度量](https://en.wikipedia.org/wiki/Central_tendency)方法，
 * 用于寻找数据集的典型中心值。
 *
 * 本简单均值函数内部采用逐次累加法计算，未考虑浮点加法误差。
 * 如需更高计算精度，应改用标准{@link mean}方法。
 *
 * 时间复杂度为`O(n)`，与数组长度成线性关系。
 *
 * @param {Array<number>} x 包含一个或多个数据点的样本
 * @throws {Error} 当数组为空时抛出异常
 * @returns {number} 算术平均数
 * @example
 * meanSimple([0, 10]); // => 5
 */
function meanSimple(x) {
    if (x.length === 0) {
        throw new Error("meanSimple需要至少一个数据点");
    }

    return sumSimple(x) / x.length;
}

export default meanSimple;
